package com.luoran.bartalks.dao;

import java.util.List;

import org.beetl.sql.core.annotatoin.Param;
import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.core.mapper.BaseMapper;

import com.luoran.bartalks.entity.BaseInfo;
import com.luoran.bartalks.entity.biz.BtPosition;

public interface IBtPositionDao extends BaseMapper<BtPosition> {

	void queryPage(PageQuery<? extends BaseInfo> pageQuery);

	// 根据用户获取位置信息
	List<BtPosition> getPositionByCompanyId(@Param("companyId") String companyId);

	// 根据公司id和位置编码查询位置信息
	BtPosition getPositByPositionCode(@Param("PositionCode") String PositionCode, @Param("companyId") String companyId);

	/**
	 * 根据公司编码和区域编码查询位置
	 * 
	 * @param regionNumber
	 * @param companyId
	 * @return
	 */
	List<BtPosition> getPositByParentRegPositionCode(@Param("parentRegPositionCode") String parentRegPositionCode,
			@Param("companyId") String companyId);

	/**
	 * 根据区域id获取长编码带有次ID的位置信息
	 * 
	 * @param id
	 * @return
	 */
	List<BtPosition> getpositsBylongCode(@Param("regcode") String regcode, @Param("CompanyId") String CompanyId);

	/**
	 * 根据区域id数组对应的的位置信息列表
	 * 
	 * @param id
	 * @return
	 */
	List<BtPosition> getPositsByReigs(@Param("codes") String[] regionCodes, @Param("companyId") String companyId);

	void deletePositionByCompanyId(@Param("companyId") String companyId);

	// 根据Id in 查询
	List<BtPosition> getByIds(@Param("ids") List<String> ids);
}
